package com.itfenghuang.day13;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class A07_UDPReceive {
    public static void main(String[] args) throws IOException {
        /**
         *
         *  步骤
         *      1). 创建DatagramSocket对象
         *      2). 创建数据报包,接受数据
         *      3). 调用方法接受数据
         *      4). 解析数据,打印在控制台时上
         *      5). 释放资源
         *
         */
        //创建数据报套接字
        DatagramSocket socket = new DatagramSocket(10086);
        //创建数据报包
        //public DatagramPacket(byte[] buf ,int length)
        byte[] bys = new byte[1024];
        DatagramPacket packet = new DatagramPacket(bys,bys.length);
        //接收
        //public void receive(DatagramPacket p)
        socket.receive(packet);
        // DatagramPacket中的方法:  public int getLength() 返回要发送的数据的长度或接受到的数据的长度
        //获取数据报包数据的长度
        int length = packet.getLength();
        System.out.println(length);
        //解析数据 DatagramPacket中的方法: public byte[] getData()
        byte[] data = packet.getData();
        System.out.println(new String(data,0,data.length));
        System.out.println(new String(data,0,packet.getLength()));
        socket.close();


    }
}
